﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Box.BL;
using Box.Entities;
using Microsoft.Practices.Unity;

namespace Box.Cliente.Logistica.Pago_Compras
{
    public partial class CuotasDePago : System.Web.UI.Page
    {
        [Dependency]
        public IPagoCompraBL PagoCompraBL { get; set; }
        [Dependency]
        public ITipoDocumentoBL TipoDocumentoBL { get; set; }

        protected void Page_Load(object sender, EventArgs e)
        {
            #region Add, Edit and Delete
            var opc = Request.QueryString["opc"];
            var idCuota = Request.QueryString["idCuota"];

            if (!Page.IsPostBack)
            {

                if (idCuota != null && opc.Equals("PagarCuota"))
                {
                    upd1.Visible = true;
                    UpdatePanel2.Visible = false;
                    ViewState["opc"] = "PagarCuota";
                    var id = Int32.Parse(idCuota);
                    var cuota = PagoCompraBL.GetPagoById(id);
                    tbxId.Text = cuota.Id.ToString();
                    tbxId.Visible = false;
                    tbxEstado.Visible = false;
                    tbxCantidad.Visible = false;
                    tbxEstado.Text = cuota.Estado.ToString();
                    tbxCantidad.Text = cuota.CompraId.ToString();

                    
                }
                if (idCuota != null && opc.Equals("delete"))
                {
                    var id = Int32.Parse(idCuota.ToString());

                    PagoCompraBL.DeletePagoCompra(id);
                    Response.Redirect("GestionarPagoCompras.aspx");
                
                }

            }
            #endregion
        }

        public IEnumerable<PagoCompra> FindSFPagoCompraById(Int32? id)
        {
            //if (id==null)
            //{
            //    return null;
            //}

            var idCompra = Request.QueryString["idCompra"];

            if (idCompra == null)
            {
                return null;
            }
            var ida = Int32.Parse(idCompra);

            return PagoCompraBL.FindSearchingFromCuotasPagoCompraById(ida).AsQueryable();

        }

        public IEnumerable<TipoDocumento> GetTipoDocumentos()
        {
            return TipoDocumentoBL.GetAllFromTipoDocumentos();
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {

            if (ViewState["opc"].ToString() == "PagarCuota")
            {
                var cuota = new PagoCompra();

                cuota.Id = Int32.Parse(tbxId.Text);
                cuota.Estado = tbxEstado.Text;
                cuota.CompraId = Int32.Parse(tbxCantidad.Text);
                if (fuArchivo.HasFile)
                {
                    fuArchivo.SaveAs("E:/BoxSport/BoxCorporacion/" + "BoxCorporacion/Box.Cliente/Images/" + fuArchivo.FileName);
                    var docNombre = fuArchivo.FileName; ;
                    cuota.archivo = docNombre;
                }

                PagoCompraBL.UpdatePagoCompra(cuota);

                Response.Redirect("GestionarPagoCompras.aspx");

            }
        }

        protected void ddlEstado_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlEstado.SelectedValue == "Pagado")
            {
                tbxEstado.Text = "Pagado";
            }

            if (ddlEstado.SelectedValue == "No Pagado")
            {
                tbxEstado.Text = "Pendiente";
            }
        } 




    }
}